﻿/*----------------------------------------------------------------
    // Copyright (C) 2009 江苏华招网
    // 版权所有。 
    // 作者：庄金冬 
    //
    // 文件名：IBLL_Area.cs
    // 文件功能描述：有关区域的业务逻辑接口
    // 创建标识：庄金冬2009-03-06
    //
    // 修改标识：
    // 修改描述：
    //
    // 修改标识：
    // 修改描述：
    //
    // 审核人：
    // 审核时间：
    // 审核说明：
 //----------------------------------------------------------------*/
using System;
using System.Collections.Generic;

using System.Text;
using HZ.DrugTrade.Model;


namespace HZ.DrugTrade.IBLL
{

    /// <summary>
    /// 有关流程引擎的业务逻辑接口
    /// </summary>
    public interface IBLL_FlowEngine
    {
        #region 流程操作
        /// <summary>
        /// 新增流程
        /// </summary>
        /// <remarks>（0.失败1.成功）</remarks>
        /// <param name="flow">流程</param>
        /// <returns>（0.失败1.成功）</returns>
        int AddFlow(Flow flow);

        /// <summary>
        /// 更新流程
        /// </summary>
        /// <remarks>（0.失败1.成功）</remarks>
        /// <param name="flow">流程</param>
        /// <returns>（0.失败1.成功）</returns>
        int UpdateFlow(HZ.DrugTrade.Model.Flow flow);

        /// <summary>
        /// 删除流程
        /// </summary>
        /// <remarks>（0.失败1.成功）</remarks>
        /// <param name="flow">流程</param>
        /// <returns>（0.失败1.成功）</returns>
        int DelFlow(HZ.DrugTrade.Model.Flow flow); 
        #endregion

        #region 流程查询
        /// <summary>
        /// 获取流程节点集合
        /// </summary>
        /// <param name="flowID">流程编号</param>
        /// <returns>流程节点集合</returns>
        IList<HZ.DrugTrade.Model.FlowNode> GetFlowNodes(string flowID);

        /// <summary>
        /// 获取流程集合
        /// </summary>
        /// <returns>流程集合</returns>
        IList<HZ.DrugTrade.Model.Flow> GetFlows();

        /// <summary>
        /// 获取流程
        /// </summary>
        /// <param name="flowID">流程编号</param>
        /// <returns>流程</returns>
        HZ.DrugTrade.Model.Flow GetFlows(string flowID); 
        #endregion
    }
}
